Modern subscriber television systems (STS) transmit digital content, which is packetized, from a headend to a subscriber. The digital content is typically provided in a format such as MPEG or in other packet formats known to those skilled in the art. Operators of STS prefer to provide programs in digital format because digital programs provide superior fidelity and lower bandwidth in comparison to analog programs. However, packetized digital programs must be properly synchronized for the subscriber to be able to properly access them.
Briefly described, an encoder receives an analog program and encodes the program into its constituent video and audio elementary streams, which are packetized and known as packetized elementary streams (PES). The packets of the PES are variable length, and the packetized elementary streams include timing information so that the packets of audio content can be properly synchronized with the packets of video content by a decoder when the program is accessed by a user.
In a typical STS, instead of variable length packets, fixed length transport packets are transmitted from the headend to the subscriber by packetizing the variable PES packets into one or more transport packets. Again, the transport packets include timing information so that a subscriber having a digital subscriber communication terminal (DSCT) can decode the program. The DSCT uses the timing information to match the frequency of its internal clock to the frequency of the clock of the encoder that generated the transport packets. However, at the headend, jitter is often introduced into the transport streams of a program because, among other things, multiple transport streams of different programs are multiplexed together, and because routing through the headend and other processing introduces variable delay. Thus, what is sought is a method and apparatus for removing jitter from the transport streams of a program such that the DSCT receiving the program can synchronize the elementary streams of the program.
STS's also provide a service known as video-on-demand (VOD), in which a subscriber can request a prerecorded program or movie or instance of service. For the purposes of this disclosure a program or movie or other instance of service that is provided to a subscriber or offered by a STS to the subscriber is referred to as a program. VOD programs are often stored in a VOD pump, which is typically located at the headend of the STS. The stored VOD programs include the timing information used for synchronizing the clock of the subscriber's DSCTs with the clock of the encoder that packetized the program. Typically, a VOD pump does not output a requested program at the steady stream rate of the encoder. Instead, the VOD pump clumps multiple transport packets into a network frame and transmits the network frame to a transmitter, such as a quadrature amplitude modulator (QAM), for transmission to the subscriber's DSCT. Consequently, at the transmitter the transport streams are jittered by both variable delay in the transmission pathway between the VOD pump and the transmitter and by the clumping of multiple transport packets into a single network frame. Thus, what is also needed is a system and method for reducing jitter by correcting for variable delay and by compensating for clumping of transport packets in network frames.